Шаг 181 - Свойство AllPermissions.

Описание
Возвращает все разрешения, присвоенные учетной записи, указанной в свойстве UserName текущего объекта Container или Document, включая как разрешения, присвоенные конкретному пользователю, так и разрешения, которые пользователь наследует как член групп (только в рабочей области Microsoft Jet).

Значение
Для любого объекта Container или Document возвращаемое значение имеет тип Long или задается с помощью следующих констант.

dbSecReadDef			Допускается чтение описания таблицы, в том числе сведений о 
				столбцах и индексах.
dbSecWriteDef			Допускается изменение и удаление описания таблицы, в том числе 
				сведений о столбцах и индексах.
dbSecRetrieveData			Допускается загрузка данных из объекта Document.
dbSecInsertData			Допускается добавление записей.
dbSecReplaceData			Допускается изменение записей.
dbSecDeleteData			Допускается удаление записей.

Кроме того, для контейнера из семейства баз данных, а также для любого объекта Document из семейства Documents, возможно включение следующих констант.

dbSecDeleteData			Допускается удаление записей.
dbSecDBAdmin			Допускается репликация и изменение пароля базы данных.
dbSecDBCreate			Допускается создание новой базы данных.  Поддерживается только для контейнера 
				семейства база данных в системной базе данных (System.mdw).
dbSecDBExclusive			Монопольный доступ к базе данных.
dbSecDBOpen			Допускается открытие базы данных.

Замечания
Данное свойство отличается от свойства Permissions, в котором возвращаются только разрешения, присвоенных конкретному пользователю, и не включаются разрешения, которые пользователь наследует как член группы. Если текущим значением свойства UserName является имя группы, то значения, возвращаемые свойствами AllPermissions и Permissions, совпадают.

Пример
Следующая программа использует свойства SystemDB, AllPermissions и Permissions для демонстрации получения пользователями различных разрешений в зависимости от группы, к которой они принадлежат.

Sub AllPermissionsX()

	' Проверяет, что файл системной базы данных Microsoft Jet
	' является доступным.
	DBEngine.SystemDB = "system.mdw"

	Dim dbsNorthwind As Database
	Dim ctrLoop As Container

	Set dbsNorthwind = OpenDatabase("Борей.mdb")

	' Отображает семейство Containers и печатает имя текущего 
	' пользователя и присвоенные ему разрешения.
	For Each ctrLoop In dbsNorthwind.Containers

	With ctrLoop
			Debug.Print "Контейнер: " & .Name
			Debug.Print "Пользователь: " & .UserName
			Debug.Print "    Permissions: " & .Permissions
			Debug.Print "    AllPermissions: " & .AllPermissions
		End With
	Next ctrLoop
	dbsNorthwind.Close
End Sub
Hosted by uCoz